From 5453f1146495a7f8a03ed9d5300c4e70f8674be5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 11 Jan 2006 14:54:05 +0000 Subject: [PATCH] Clean up properly if the grab fails. (finish_drag): Don't leak a reference 2006-01-11 Matthias Clasen * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean up properly if the grab fails. (finish_drag): Don't leak a reference to moveresize_window here. --- ChangeLog | 7 +++++++ ChangeLog.pre-2-10 | 7 +++++++ gdk/x11/gdkwindow-x11.c | 4 ++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 83b4584caf..c9d015b1c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-01-11 Matthias Clasen + + * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean + up properly if the grab fails. + (finish_drag): Don't leak a reference to moveresize_window + here. + 2006-01-11 Matthias Clasen * gdk/x11/gdkevents-x11.c: Fix string offsets. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 83b4584caf..c9d015b1c8 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2006-01-11 Matthias Clasen + + * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean + up properly if the grab fails. + (finish_drag): Don't leak a reference to moveresize_window + here. + 2006-01-11 Matthias Clasen * gdk/x11/gdkevents-x11.c: Fix string offsets. diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index cdbe6282fc..374a345cf8 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -5607,6 +5607,7 @@ finish_drag (MoveResizeData *mv_resize) { gdk_window_destroy (mv_resize->moveresize_emulation_window); mv_resize->moveresize_emulation_window = NULL; + g_object_unref (mv_resize->moveresize_window); mv_resize->moveresize_window = NULL; if (mv_resize->moveresize_pending_event) @@ -5786,8 +5787,7 @@ create_moveresize_window (MoveResizeData *mv_resize, /* If this fails, some other client has grabbed the window * already. */ - gdk_window_destroy (mv_resize->moveresize_emulation_window); - mv_resize->moveresize_emulation_window = NULL; + finish_drag (mv_resize); } mv_resize->moveresize_process_time = 0; -- 2.30.2